from threading import Thread,current_thread,enumerate,active_count
import time
import os
def func(i):
    print(f'start{i}',current_thread())
    time.sleep(1)
    print(f'edn{i}')

if __name__ == '__main__':
    # t1 = []
    for i in range(10):#也是异步程序
        t=Thread(target=func,args=(i,))
        t.start()
        t.join()
        print(t.ident,os.getpid())
        # t1.append(t)

    print(enumerate(),active_count())
    # for t in t1:t.join()
    print('所有线程都执行完了')






# current_thread() 获取当前所在的线程的对象 current_thread().ident通过ident可以获取线程id
# 线程是不能从外部terminate
# 所有的子线程只能是自己执行完代码之后就关闭
# enumerate 列表 存储了所有活着的线程对象,包括主线程
# active_count 数字 存储了所有活着的线程个数





















